﻿#pragma once

namespace df
{
	template<class _Src, class _Dest>
	struct IsContain
	{
	};

	template<class _Src>
	struct IsContain<const _Src, _Src>
	{
		using Type = _Src;
	};

	template<class _Src>
	struct IsContain<const _Src *, _Src>
	{
		using Type = _Src;
	};

	template<class _Src>
	struct IsContain<_Src *, _Src>
	{
		using Type = _Src;
	};

	template<class _Src>
	struct IsContain<_Src[], _Src>
	{
		using Type = _Src;
	};

	template<class _Src>
	struct IsContain<const _Src[], _Src>
	{
		using Type = _Src;
	};
}